home *** CD-ROM | disk | FTP | other *** search
- /* ANSI C code generated by SmallEiffel. */
- /*
- -- SmallEiffel -- Release (- 0.97) -- FRANCE
- -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN
- -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr
- -- CRIN (Centre de Recherche en Informatique de Nancy)
- -- FRANCE
- */
- #include "compile_to_c.h"
- int rT44all_check(T44 *C){
- int R=0;
- R=((C)->_level)>=(0);
- return R;
- }
- void rT44set_require_check(T44 *C){
- C->_level=-4;
- }
- int rT3same_as(T3 C,char a1){
- int R=0;
- R=(rT3to_lower(C))==(rT3to_lower(a1));
- return R;
- }
- char rT3to_upper(T3 C){
- char R='\0';
- /*IF*/if ((((unsigned char)C))<(97)) {
- R=C;
- }
- else if ((((unsigned char)C))>(122)) {
- R=C;
- }
- else {
- R=(((unsigned char)C))-(32);
- }
- /*FI*/return R;
- }
- int rT3is_digit(T3 C){
- int R=0;
- {int iv1=C;
- if ((48 <= iv1) && (iv1<= 57)) goto l462;
- goto l463;
- l462: ;
- R=1;
- goto l461;
- l463: ;
- l461: ;
- }
- return R;
- }
- int rT3is_letter(T3 C){
- int R=0;
- {int iv1=C;
- if ((65 <= iv1) && (iv1<= 90)) goto l465;
- if ((97 <= iv1) && (iv1<= 122)) goto l465;
- goto l466;
- l465: ;
- R=1;
- goto l464;
- l466: ;
- l464: ;
- }
- return R;
- }
- int rT3is_separator(T3 C){
- int R=0;
- {int iv1=C;
- if (0 == iv1) goto l468;
- if ((9 <= iv1) && (iv1<= 10)) goto l468;
- if (13 == iv1) goto l468;
- if (32 == iv1) goto l468;
- goto l469;
- l468: ;
- R=1;
- goto l467;
- l469: ;
- l467: ;
- }
- return R;
- }
- int rT3value(T3 C){
- int R=0;
- R=(((unsigned char)C))-(48);
- return R;
- }
- char rT3to_lower(T3 C){
- char R='\0';
- /*IF*/if ((((unsigned char)C))<(65)) {
- R=C;
- }
- else if ((((unsigned char)C))>(90)) {
- R=C;
- }
- else {
- R=(((unsigned char)C))+(32);
- }
- /*FI*/return R;
- }
- int ofBC27type_pointer=0;
- T0*oRBC27type_pointer;
- T0 * rT173type_pointer(/*C*/void){
- T0 * R=NULL;
- if (ofBC27type_pointer==0){
- ofBC27type_pointer=1;
- {T113 *n=((T113*)new(113));
- rT113make(n,NULL);
- R=(T0 *)n;}
- oRBC27type_pointer=R;}
- return oRBC27type_pointer;}
- int rT173static_value(T173 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- T0 * rT173to_runnable(T173 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (!((C)->_current_type)) {
- C->_current_type=a1;
- C->_rf=rT260get_feature((T260*)XrT58run_class(a1),(C)->_feature_name);
- /*IF*/if (!((C)->_rf)) {
- rT173error(rT173start_position(C),(T0 *)ms1134);
- }
- /*FI*/R=(T0 *)C;
- }
- else {
- {T173 *n=((T173*)new(173));
- /*(IRF3*/((n)->_feature_name)=((C)->_feature_name);
- /*)*/R=(T0 *)n;}
- R=rT173to_runnable((T173*)R,a1);
- }
- /*FI*/return R;
- }
- void rT173error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT173add_comment(T173 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT173start_position(T173 *C){
- T0 * R=NULL;
- R=XrT67start_position((C)->_feature_name);
- return R;
- }
- void rT173compile_to_c(T173 *C){
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1188);
- XrT261address_of((C)->_rf);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- int rT173to_integer(T173 *C){
- int R=0;
- rT173error(rT173start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT173written_in(T173 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT173start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT173copy(T173 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT173is_a(T173 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(rT113run_type((T113*)/*(IRF4*/rT173type_pointer()/*)*/),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT173start_position(C));
- rT173error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT205fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT205first_name(T205 *C){
- T0 * R=NULL;
- R=rT128item((T128*)(C)->_names,1);
- return R;
- }
- T0 * rT205to_run_feature(T205 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- {T278 *n=((T278*)new(278));
- rT278make(n,a1,a2,(T0 *)C);
- R=(T0 *)n;}
- return R;
- }
- void rT205error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT205fe_undefine(/*C*/T0 * a1,T0 * a2){
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms483);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms484);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
- rT205fatal_error((T0 *)ms485);
- }
- int rT205is_merge_with(T205 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT205error(rT205start_position(C),(T0 *)ms488);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!((C)->_arguments))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT205error(rT205start_position(C),(T0 *)ms489);
- }
- else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT205error(rT205start_position(C),(T0 *)ms490);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- rT45error((T45*)oRBC27eh,(T0 *)ms491);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_arguments)) {
- /*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT205error(rT205start_position(C),(T0 *)ms494);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT205start_position(T205 *C){
- T0 * R=NULL;
- R=XrT67start_position(rT205first_name(C));
- return R;
- }
- void rT205collect_for(T205 *C,int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*/if (((int)(C)->_require_assertion)) {
- /*IF*/if (!(rT268fast_has((T268*)oRBC62require_collector,(C)->_require_assertion))) {
- rT268add_last((T268*)oRBC62require_collector,(C)->_require_assertion);
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- rT157add_into((T157*)(C)->_ensure_assertion,oRBC62assertion_collector);
- }
- /*FI*/}
- /*FI*/}
- void rT205add_into(T205 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT128count((T128*)(C)->_names)))) {
- _fn=rT128item((T128*)(C)->_names,_i);
- /*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
- _fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
- rT45error((T45*)oRBC27eh,(T0 *)ms419);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(_fn));
- rT45error((T45*)oRBC27eh,(T0 *)ms38);
- }
- else {
- rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0 * rT205try_to_undefine(T205 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (XrT67is_frozen(a1)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT205start_position(C));
- rT205error(XrT67start_position(a1),(T0 *)ms482);
- rT205fe_undefine(a1,a2);
- }
- else {
- R=rT205try_to_undefine_aux(C,a1,a2);
- /*IF*/if (((int)R)) {
- XrT203set_clients(R,(C)->_clients);
- }
- else {
- rT205fe_undefine(a1,a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT205try_to_undefine_aux(T205 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- R=(T0 *)C;
- return R;
- }
- void rT205set_header_comment(T205 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&((rT59count((T59*)a1))>(1))) {
- C->_end_comment=a1;
- }
- /*FI*/}
- void rT205from_effective(T205 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6){
- {T128 *n=((T128*)new(128));
- rT128make(n,ma(129,0,1,a1));
- C->_names=(T0 *)n;}
- rT205make(C,(C)->_names,a2,a3,NULL,NULL,a4);
- /*(IRF3*/((C)->_ensure_assertion)=(a5);
- /*)*/C->_base_class=a6;
- }
- int rT205can_hide(T205 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT205error(rT205start_position(C),(T0 *)ms501);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!((C)->_arguments))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT205error(rT205start_position(C),(T0 *)ms502);
- }
- else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT205error(rT205start_position(C),(T0 *)ms503);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms504);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms505);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_arguments)) {
- /*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT205start_position(C));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms506);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms507);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT205base_class_name(T205 *C){
- T0 * R=NULL;
- R=((T50*)(C)->_base_class)->_base_class_name;
- return R;
- }
- void rT205copy(T205 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT205set_rescue_compound(T205 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&(/*(IRF4*/1/*)*/)) {
- rT205error(rT205start_position(C),(T0 *)ms402);
- }
- /*FI*/C->_rescue_compound=a1;
- }
- void rT205make_e_feature(T205 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- void rT205make_routine(T205 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
- rT205make_e_feature(C,a1,NULL);
- C->_header_comment=a4;
- C->_arguments=a2;
- C->_obsolete_mark=a3;
- C->_require_assertion=a5;
- }
- void rT205make(T205 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6){
- rT205make_routine(C,a1,a2,a4,a5,a6);
- C->_result_type=a3;
- }
- void rT204fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT204first_name(T204 *C){
- T0 * R=NULL;
- R=rT128item((T128*)(C)->_names,1);
- return R;
- }
- T0 * rT204to_run_feature(T204 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- {T278 *n=((T278*)new(278));
- rT278make(n,a1,a2,(T0 *)C);
- R=(T0 *)n;}
- return R;
- }
- void rT204error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT204fe_undefine(/*C*/T0 * a1,T0 * a2){
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms483);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms484);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
- rT204fatal_error((T0 *)ms485);
- }
- int rT204is_merge_with(T204 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT204error(rT204start_position(C),(T0 *)ms488);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!((C)->_arguments))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT204error(rT204start_position(C),(T0 *)ms489);
- }
- else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT204error(rT204start_position(C),(T0 *)ms490);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- rT45error((T45*)oRBC27eh,(T0 *)ms491);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_arguments)) {
- /*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT204error(rT204start_position(C),(T0 *)ms494);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT204start_position(T204 *C){
- T0 * R=NULL;
- R=XrT67start_position(rT204first_name(C));
- return R;
- }
- void rT204collect_for(T204 *C,int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*/if (((int)(C)->_require_assertion)) {
- /*IF*/if (!(rT268fast_has((T268*)oRBC62require_collector,(C)->_require_assertion))) {
- rT268add_last((T268*)oRBC62require_collector,(C)->_require_assertion);
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- rT157add_into((T157*)(C)->_ensure_assertion,oRBC62assertion_collector);
- }
- /*FI*/}
- /*FI*/}
- void rT204add_into(T204 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT128count((T128*)(C)->_names)))) {
- _fn=rT128item((T128*)(C)->_names,_i);
- /*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
- _fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
- rT45error((T45*)oRBC27eh,(T0 *)ms419);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(_fn));
- rT45error((T45*)oRBC27eh,(T0 *)ms38);
- }
- else {
- rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0 * rT204try_to_undefine(T204 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (XrT67is_frozen(a1)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT204start_position(C));
- rT204error(XrT67start_position(a1),(T0 *)ms482);
- rT204fe_undefine(a1,a2);
- }
- else {
- R=rT204try_to_undefine_aux(C,a1,a2);
- /*IF*/if (((int)R)) {
- XrT203set_clients(R,(C)->_clients);
- }
- else {
- rT204fe_undefine(a1,a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT204try_to_undefine_aux(T204 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- R=(T0 *)C;
- return R;
- }
- void rT204set_header_comment(T204 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&((rT59count((T59*)a1))>(1))) {
- C->_end_comment=a1;
- }
- /*FI*/}
- void rT204from_effective(T204 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
- {T128 *n=((T128*)new(128));
- rT128make(n,ma(129,0,1,a1));
- C->_names=(T0 *)n;}
- rT204make_routine(C,(C)->_names,a2,NULL,NULL,a3);
- /*(IRF3*/((C)->_ensure_assertion)=(a4);
- /*)*/C->_base_class=a5;
- }
- int rT204can_hide(T204 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT204error(rT204start_position(C),(T0 *)ms501);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!((C)->_arguments))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT204error(rT204start_position(C),(T0 *)ms502);
- }
- else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT204error(rT204start_position(C),(T0 *)ms503);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms504);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms505);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_arguments)) {
- /*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT204start_position(C));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms506);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms507);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT204base_class_name(T204 *C){
- T0 * R=NULL;
- R=((T50*)(C)->_base_class)->_base_class_name;
- return R;
- }
- void rT204copy(T204 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT204set_rescue_compound(T204 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&(/*(IRF4*/1/*)*/)) {
- rT204error(rT204start_position(C),(T0 *)ms402);
- }
- /*FI*/C->_rescue_compound=a1;
- }
- void rT204make_e_feature(T204 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- void rT204make_routine(T204 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
- rT204make_e_feature(C,a1,NULL);
- C->_header_comment=a4;
- C->_arguments=a2;
- C->_obsolete_mark=a3;
- C->_require_assertion=a5;
- }
- void rT204make(T204 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
- rT204make_routine(C,a1,a2,a3,a4,a5);
- }
- int rT181static_value(T181 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- T0 * rT181to_runnable(T181 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _rf=NULL;
- T0 * _rt=NULL;
- /*IF*/if (!((C)->_current_type)) {
- C->_current_type=a1;
- _rt=XrT58to_runnable((C)->_result_type,a1);
- /*IF*/if (!(_rt)) {
- rT181error(XrT58start_position((C)->_result_type),(T0 *)ms1144);
- }
- else {
- C->_result_type=_rt;
- R=(T0 *)C;
- }
- /*FI*//*IF*/if (rT50has_feature((T50*)rT181base_class_written(C),(C)->_to_string)) {
- _rf=rT260get_feature_with((T260*)XrT58run_class(a1),(C)->_to_string);
- /*IF*/if (((int)_rf)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position(_rf));
- }
- /*FI*/rT181error((C)->_start_position,(T0 *)ms1145);
- }
- /*FI*/}
- else {
- R=rT181clone(C,(T0 *)C);
- /*(IRF3*/(((T181*)R)->_current_type)=(NULL);
- /*)*/R=rT181to_runnable((T181*)R,a1);
- }
- /*FI*/return R;
- }
- void rT181error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT181add_comment(T181 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0* rT181clone(T181 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- T0* rT181to_key(T181 *C){
- T0* R=NULL;
- R=(C)->_to_string;
- return R;
- }
- int rT181can_be_dropped(T181 *C){
- int R=0;
- R=XrT58is_expanded(XrT58run_type((C)->_result_type));
- return R;
- }
- void rT181compile_to_c(T181 *C){
- rT40put_character((T40*)oRBC27cpp,'\137');
- rT40put_string((T40*)oRBC27cpp,(C)->_to_string);
- }
- int rT181to_integer(T181 *C){
- int R=0;
- rT181error((C)->_start_position,(T0 *)ms175);
- return R;
- }
- T0 * rT181written_in(T181 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=(C)->_start_position;
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- T0 * rT181base_class_written(T181 *C){
- T0 * R=NULL;
- R=rT48base_class((T48*)rT181written_in(C));
- return R;
- }
- void rT181copy(T181 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT181is_a(T181 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- rT181error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT181make(T181 *C,T0 * a1,T0* a2,T0 * a3,int a4){
- C->_start_position=a1;
- C->_to_string=a2;
- C->_result_type=a3;
- C->_rank=a4;
- }
- int ofBC27type_string=0;
- T0*oRBC27type_string;
- T0 * rT76type_string(/*C*/void){
- T0 * R=NULL;
- if (ofBC27type_string==0){
- ofBC27type_string=1;
- {T115 *n=((T115*)new(115));
- rT115make(n,NULL);
- R=(T0 *)n;}
- oRBC27type_string=R;}
- return oRBC27type_string;}
- int rT76static_value(T76 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT76break_line(T76 *C){
- /*IF*/if (!((C)->_break)) {
- C->_break=ma(55,2,1,(((T7*)(C)->_to_string)->_count)+(1));
- }
- else {
- rT55add_last((T55*)(C)->_break,(((T7*)(C)->_to_string)->_count)+(1));
- }
- /*FI*/}
- T0 * rT76to_runnable(T76 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (!((C)->_current_type)) {
- C->_current_type=a1;
- R=(T0 *)C;
- /*IF*/if (((C)->_id)==(0)) {
- C->_id=rT40add_manifest_string((T40*)oRBC27cpp,(T0 *)C);
- }
- /*FI*/rT76set_at_run_time();
- }
- else {
- R=rT76clone(C,(T0 *)C);
- /*(IRF3*/(((T76*)R)->_current_type)=(a1);
- /*)*/}
- /*FI*/return R;
- }
- void rT76add_ascii(T76 *C,char a1){
- rT7extend((T7*)(C)->_to_string,a1);
- /*IF*/if (!((C)->_ascii)) {
- C->_ascii=ma(55,2,1,((T7*)(C)->_to_string)->_count);
- }
- else {
- rT55add_last((T55*)(C)->_ascii,((T7*)(C)->_to_string)->_count);
- }
- /*FI*/}
- void rT76add(T76 *C,char a1){
- rT7extend((T7*)(C)->_to_string,a1);
- }
- void rT76error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT76add_comment(T76 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- int ofBC76set_at_run_time=0;
- void rT76set_at_run_time(/*C*/void){
- if (ofBC76set_at_run_time==0){
- ofBC76set_at_run_time=1;
- rT260set_at_run_time((T260*)XrT58run_class(rT115run_type((T115*)/*(IRF4*/rT76type_string()/*)*/)));
- }
- }
- T0* rT76clone(T76 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT76compile_to_c(T76 *C){
- rT40manifest_string_mapping_c((T40*)oRBC27cpp,(C)->_id);
- }
- void rT76add_percent(T76 *C,char a1){
- rT7extend((T7*)(C)->_to_string,a1);
- /*IF*/if (!((C)->_percent)) {
- C->_percent=ma(55,2,1,((T7*)(C)->_to_string)->_count);
- }
- else {
- rT55add_last((T55*)(C)->_percent,((T7*)(C)->_to_string)->_count);
- }
- /*FI*/}
- int rT76to_integer(T76 *C){
- int R=0;
- rT76error((C)->_start_position,(T0 *)ms175);
- return R;
- }
- T0 * rT76written_in(T76 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=(C)->_start_position;
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT76copy(T76 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT76is_a(T76 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(rT115run_type((T115*)/*(IRF4*/rT76type_string()/*)*/),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- rT76error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT76make(T76 *C,T0 * a1){
- C->_start_position=a1;
- {T7 *n=((T7*)new(7));
- rT7make(n,0);
- C->_to_string=(T0 *)n;}
- }
- void rT123error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT123merge_with(T123 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * R=NULL;
- /*IF*/if (((T0 *)C)==((T0 *)a1)) {
- R=(T0 *)C;
- }
- else if ((rT123is_omitted(C))||(rT123gives_permission_to_any(C))) {
- R=(T0 *)C;
- }
- else if ((rT123is_omitted((T123*)a1))||(rT123gives_permission_to_any((T123*)a1))) {
- R=a1;
- }
- else {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- rT123error(((T123*)a1)->_start_position,(T0 *)ms1127);
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(a2));
- rT123error(XrT62start_position(a3),(T0 *)ms1128);
- }
- /*FI*/return R;
- }
- T0 * rT123class_with(/*C*/T0* a1){
- T0 * R=NULL;
- R=(/*UT*/(T52*)oRBC27small_eiffel,
- rT52get_class(a1));
- return R;
- }
- int rT123is_omitted(T123 *C){
- int R=0;
- R=!((C)->_start_position);
- return R;
- }
- void rT123copy(T123 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT123gives_permission_to_any(T123 *C){
- int R=0;
- R=rT123gives_permission_to(C,((T50*)/*(IRF4*/rT123class_with((T0 *)ms183)/*)*/)->_base_class_name);
- return R;
- }
- int rT123gives_permission_to(T123 *C,T0 * a1){
- int R=0;
- /*IF*/if (rT123is_omitted(C)) {
- R=1;
- }
- else if (!((C)->_list)) {
- }
- else {
- R=rT126gives_permission_to((T126*)(C)->_list,a1);
- }
- /*FI*//*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)a1)->_to_string);
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms470);
- }
- /*FI*/return R;
- }
- void rT123make(T123 *C,T0 * a1,T0* a2){
- C->_start_position=a1;
- /*IF*/if (((int)a2)) {
- {T126 *n=((T126*)new(126));
- rT126make(n,a2);
- C->_list=(T0 *)n;}
- }
- /*FI*/}
- T0 * rT139name(T139 *C,int a1){
- T0 * R=NULL;
- R=((T94*)rT96item((T96*)(C)->_flat_list,a1))->_name;
- return R;
- }
- T0 * rT139type(T139 *C,int a1){
- T0 * R=NULL;
- /*IF*/if (((int)(C)->_run_types)) {
- R=rT106item((T106*)(C)->_run_types,a1);
- }
- else {
- R=((T94*)rT96item((T96*)(C)->_flat_list,a1))->_type;
- }
- /*FI*/return R;
- }
- T0*oRBC139c2c_mem;
- T0 * rT139to_runnable(T139 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _t2=NULL;
- T0 * _t1=NULL;
- int _i=0;
- /*IF*/if (!((C)->_run_types)) {
- R=(T0 *)C;
- {T106 *n=((T106*)new(106));
- rT106make(n,1,((T96*)(C)->_flat_list)->_upper);
- C->_run_types=(T0 *)n;}
- _i=1;
- while (!((_i)>(((T106*)(C)->_run_types)->_upper))) {
- _t1=((T94*)rT96item((T96*)(C)->_flat_list,_i))->_type;
- _t2=XrT58to_runnable(_t1,a1);
- /*IF*/if (!(_t2)) {
- rT139error(XrT58start_position(_t1),(T0 *)ms514);
- }
- else {
- rT106put((T106*)(C)->_run_types,_t2,_i);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- else {
- R=rT139to_runnable((T139*)rT139clone(C,(T0 *)C),a1);
- }
- /*FI*/return R;
- }
- int rT139count(T139 *C){
- int R=0;
- R=((T96*)(C)->_flat_list)->_upper;
- return R;
- }
- void rT139error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- int rT139rank_of(T139 *C,T0 * a1){
- int R=0;
- T0* _ns=NULL;
- _ns=XrT49to_string(a1);
- R=rT139count(C);
- while (!(((R)==(0))||(rT7is_equal((T7*)_ns,XrT49to_string(rT139name(C,R)))))) {
- R=(R)-(1);
- }
- return R;
- }
- T0* rT139clone(T139 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT139compile_to_c(T139 *C){
- T0 * _t=NULL;
- int _i=0;
- _i=rT139count(C);
- while (!((_i)==(0))) {
- _t=XrT58run_type(rT139type(C,_i));
- /*(IRF3*/(((T7*)oRBC139c2c_mem)->_count)=(0);
- /*)*/XrT58c_type_in(_t,oRBC139c2c_mem);
- rT7append((T7*)oRBC139c2c_mem,(T0 *)ms1368);
- rT7append((T7*)oRBC139c2c_mem,XrT49to_string(rT139name(C,_i)));
- rT7extend((T7*)oRBC139c2c_mem,'\75');
- rT40put_string((T40*)oRBC27cpp,oRBC139c2c_mem);
- XrT58c_initialize(_t);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1369);
- _i=(_i)-(1);
- }
- }
- void rT139copy(T139 *C,T0 * a1){
- C->_start_position=((T139*)a1)->_start_position;
- C->_list=((T139*)a1)->_list;
- C->_flat_list=((T139*)a1)->_flat_list;
- }
- void rT139initialize_expanded(T139 *C){
- T0 * _rf=NULL;
- T0 * _t=NULL;
- int _i=0;
- _i=rT139count(C);
- while (!((_i)==(0))) {
- _t=XrT58run_type(rT139type(C,_i));
- /*IF*/if (XrT58is_expanded(_t)) {
- /*IF*/if (!(XrT58fast_mapping_c(_t))) {
- _rf=rT50expanded_initializer((T50*)XrT58base_class(_t),_t);
- /*IF*/if (((int)_rf)) {
- rT40push_local_expanded((T40*)oRBC27cpp,XrT49to_string(rT139name(C,_i)));
- XrT261mapping_c(_rf);
- rT40pop((T40*)oRBC27cpp);
- /*IF*/if (rT40call_invariant_start((T40*)oRBC27cpp,XrT261current_type(_rf))) {
- rT40put_character((T40*)oRBC27cpp,'\46');
- rT40put_local_name((T40*)oRBC27cpp,XrT49to_string(rT139name(C,_i)));
- rT40call_invariant_end((T40*)oRBC27cpp);
- rT40put_semicolon((T40*)oRBC27cpp);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*FI*/_i=(_i)-(1);
- }
- }
- void rT139make(T139 *C,T0 * a1,T0* a2){
- int _actual_count=0;
- int _ifl=0;
- int _il=0;
- C->_start_position=a1;
- C->_list=a2;
- _il=1;
- while (!((_il)>(XrT143upper((C)->_list)))) {
- _actual_count=(_actual_count)+(XrT95count(XrT143item((C)->_list,_il)));
- _il=(_il)+(1);
- }
- {T96 *n=((T96*)new(96));
- rT96make(n,1,_actual_count);
- C->_flat_list=(T0 *)n;}
- _ifl=1;
- _il=1;
- while (!((_il)>(XrT143upper((C)->_list)))) {
- _ifl=XrT95put_into(XrT143item((C)->_list,_il),(C)->_flat_list,_ifl);
- _il=(_il)+(1);
- }
- }
- T0 * rT160type_any(/*C*/void){
- T0 * R=NULL;
- if (ofBC27type_any==0){
- ofBC27type_any=1;
- {T87 *n=((T87*)new(87));
- rT87make(n,NULL);
- R=(T0 *)n;}
- oRBC27type_any=R;}
- return oRBC27type_any;}
- int rT160static_value(T160 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- T0 * rT160to_runnable(T160 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _t=NULL;
- T0 * _e=NULL;
- int _i=0;
- /*IF*/if (!((C)->_current_type)) {
- C->_current_type=a1;
- /*IF*/if (!((C)->_list)) {
- _t=rT160type_any();
- }
- else {
- _i=1;
- while (!((_i)>(XrT81upper((C)->_list)))) {
- _e=XrT68to_runnable(XrT81item((C)->_list,_i),a1);
- /*IF*/if (!(_e)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- rT160error(XrT68start_position(XrT81item((C)->_list,_i)),(T0 *)ms1117);
- _i=(XrT81upper((C)->_list))+(1);
- }
- else {
- XrT81put((C)->_list,_e,_i);
- /*IF*/if (!(_t)) {
- _t=XrT68result_type(_e);
- }
- else {
- _t=XrT58smallest_ancestor(_t,XrT68result_type(_e));
- }
- /*FI*/_i=(_i)+(1);
- }
- /*FI*/}
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- {T105 *n=((T105*)new(105));
- rT105make(n,NULL,_t);
- C->_result_type=(T0 *)n;}
- C->_result_type=rT105to_runnable((T105*)(C)->_result_type,(C)->_current_type);
- rT260set_at_run_time((T260*)rT105run_class((T105*)(C)->_result_type));
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- {T160 *n=((T160*)new(160));
- rT160make(n,(C)->_start_position,rT160clone(C,(C)->_list));
- R=(T0 *)n;}
- R=rT160to_runnable((T160*)R,a1);
- }
- /*FI*/return R;
- }
- void rT160error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT160add_comment(T160 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- int rT160use_current(T160 *C){
- int R=0;
- int _i=0;
- /*IF*/if (((int)(C)->_list)) {
- _i=1;
- while (!(((_i)>(XrT81upper((C)->_list)))||(R))) {
- R=XrT68use_current(XrT81item((C)->_list,_i));
- _i=(_i)+(1);
- }
- }
- /*FI*/return R;
- }
- T0* rT160clone(T160 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT160compile_to_c_old(T160 *C){
- int _i=0;
- /*IF*/if (((int)(C)->_list)) {
- _i=1;
- while (!((_i)>(XrT81upper((C)->_list)))) {
- XrT68compile_to_c_old(XrT81item((C)->_list,_i));
- _i=(_i)+(1);
- }
- }
- /*FI*/}
- void rT160compile_to_c(T160 *C){
- int _adr=0;
- T0 * _elt_type=NULL;
- int _i=0;
- _elt_type=XrT58run_type(rT106first((T106*)((T105*)(C)->_result_type)->_generic_list));
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1160);
- rT40put_integer((T40*)oRBC27cpp,rT105id((T105*)(C)->_result_type));
- rT40put_character((T40*)oRBC27cpp,'\54');
- /*IF*/if (XrT58is_reference(_elt_type)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1161);
- }
- else {
- rT40put_integer((T40*)oRBC27cpp,XrT58id(_elt_type));
- rT40put_character((T40*)oRBC27cpp,'\54');
- }
- /*FI*//*IF*/if (!((C)->_list)) {
- rT40put_character((T40*)oRBC27cpp,'0');
- }
- else {
- _adr=(XrT58is_expanded(_elt_type))&&(!(XrT58fast_mapping_c(_elt_type)));
- rT40put_integer((T40*)oRBC27cpp,XrT81upper((C)->_list));
- _i=1;
- while (!((_i)>(XrT81upper((C)->_list)))) {
- rT40put_character((T40*)oRBC27cpp,'\54');
- /*IF*/if (_adr) {
- rT40put_character((T40*)oRBC27cpp,'\46');
- }
- /*FI*/XrT68compile_to_c(XrT81item((C)->_list,_i));
- _i=(_i)+(1);
- }
- }
- /*FI*/rT40put_character((T40*)oRBC27cpp,'\51');
- }
- int rT160to_integer(T160 *C){
- int R=0;
- rT160error((C)->_start_position,(T0 *)ms175);
- return R;
- }
- T0 * rT160written_in(T160 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=(C)->_start_position;
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT160copy(T160 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT160is_a(T160 *C,T0 * a1){
- int R=0;
- R=rT105is_a((T105*)((T105*)(C)->_result_type)->_run_type,XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- rT160error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- int rT160is_pre_computable(T160 *C){
- int R=0;
- T0 * _e=NULL;
- int _i=0;
- /*IF*/if (!((C)->_list)) {
- R=1;
- }
- else if (XrT58is_string(rT106first((T106*)((T105*)(C)->_result_type)->_generic_list))) {
- R=1;
- _i=XrT81upper((C)->_list);
- while (!((!(R))||((_i)==(0)))) {
- _e=XrT81item((C)->_list,_i);
- R=XrT68is_pre_computable(_e);
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- void rT160make(T160 *C,T0 * a1,T0* a2){
- C->_start_position=a1;
- C->_list=a2;
- }
- void rT264forth(T264 *C){
- int _i=0;
- /*IF*/if ((rT55item((T55*)(C)->_chain,(C)->_item_mem_j))!=(0)) {
- C->_item_mem_j=rT55item((T55*)(C)->_chain,(C)->_item_mem_j);
- }
- else {
- _i=((C)->_item_mem_i)+(1);
- while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) {
- _i=(_i)+(1);
- }
- C->_item_mem_i=_i;
- C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i);
- }
- /*FI*/C->_item_mem=((C)->_item_mem)+(1);
- }
- void rT264first(T264 *C){
- int _i=0;
- _i=0;
- while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) {
- _i=(_i)+(1);
- }
- C->_item_mem_i=_i;
- C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i);
- C->_item_mem=1;
- }
- void rT264resize(T264 *C,int a1){
- int _p=0;
- int _n=0;
- int _i=0;
- T0* _new_buc=NULL;
- int _hash=0;
- {T55 *n=((T55*)new(55));
- rT55make(n,0,(a1)-(1));
- _new_buc=(T0 *)n;}
- _i=0;
- while (!((_i)>=((C)->_modulus))) {
- _n=rT55item((T55*)(C)->_buckets,_i);
- while (!((_n)==(0))) {
- _p=rT55item((T55*)(C)->_chain,_n);
- _hash=(rT7hash_code((T7*)rT41item((T41*)(C)->_keys,_n)))%(a1);
- rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n);
- rT55put((T55*)_new_buc,_n,_hash);
- _n=_p;
- }
- _i=(_i)+(1);
- }
- C->_buckets=_new_buc;
- C->_modulus=a1;
- C->_item_mem=0;
- }
- T0 * rT264item(T264 *C,int a1){
- T0 * R=NULL;
- /*IF*/if (((C)->_item_mem)==(0)) {
- rT264first(C);
- while (!((a1)==((C)->_item_mem))) {
- rT264forth(C);
- }
- R=XrT265item((C)->_store,(C)->_item_mem_j);
- }
- else if (((C)->_item_mem)<=(a1)) {
- while (!((a1)==((C)->_item_mem))) {
- rT264forth(C);
- }
- R=XrT265item((C)->_store,(C)->_item_mem_j);
- }
- else {
- C->_item_mem=0;
- R=rT264item(C,a1);
- }
- /*FI*/return R;
- }
- T0* rT264clone(T264 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- T0 * rT264at(T264 *C,T0* a1){
- T0 * R=NULL;
- int _foo=0;
- _foo=rT264has(C,a1);
- R=XrT265item((C)->_store,(C)->_has_mem);
- return R;
- }
- void rT264put(T264 *C,T0 * a1,T0* a2){
- int _hash=0;
- _hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
- /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT41item((T41*)(C)->_keys,(C)->_has_mem))))) {
- C->_has_mem=rT55item((T55*)(C)->_buckets,_hash);
- while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT41item((T41*)(C)->_keys,(C)->_has_mem))))) {
- C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
- }
- /*IF*/if (((C)->_has_mem)==(0)) {
- /*IF*/if (((C)->_count)>=(XrT265count((C)->_store))) {
- rT264expand(C);
- }
- /*FI*/rT41put((T41*)(C)->_keys,a2,(C)->_free);
- XrT265put((C)->_store,a1,(C)->_free);
- C->_has_mem=(C)->_free;
- C->_free=rT55item((T55*)(C)->_chain,(C)->_free);
- rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem);
- rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash);
- C->_count=((C)->_count)+(1);
- /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
- rT264resize(C,(2)*((C)->_modulus));
- }
- /*FI*/}
- /*FI*/}
- else {
- XrT265put((C)->_store,a1,(C)->_has_mem);
- }
- /*FI*/C->_item_mem=0;
- }
- void rT264standard_copy(T264 *C,T0 * a1){
- memcpy(C,a1,s[a1->id]);
- }
- void rT264copy(T264 *C,T0 * a1){
- rT264standard_copy(C,a1);
- C->_keys=rT264clone(C,((T264*)a1)->_keys);
- C->_store=rT264clone(C,((T264*)a1)->_store);
- C->_buckets=rT264clone(C,((T264*)a1)->_buckets);
- C->_chain=rT264clone(C,((T264*)a1)->_chain);
- }
- int rT264has(T264 *C,T0* a1){
- int R=0;
- /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT41item((T41*)(C)->_keys,(C)->_has_mem))))) {
- C->_has_mem=rT55item((T55*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus));
- while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT41item((T41*)(C)->_keys,(C)->_has_mem))))) {
- C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
- }
- }
- /*FI*/R=((C)->_has_mem)!=(0);
- return R;
- }
- void rT264expand(T264 *C){
- int _old_size=0;
- int _i=0;
- C->_item_mem=0;
- _old_size=XrT265count((C)->_store);
- rT55resize((T55*)(C)->_chain,1,(2)*(_old_size));
- rT41resize((T41*)(C)->_keys,1,(2)*(_old_size));
- XrT265resize((C)->_store,1,(2)*(_old_size));
- _i=(_old_size)+(1);
- while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
- rT55put((T55*)(C)->_chain,(_i)+(1),_i);
- _i=(_i)+(1);
- }
- rT55put((T55*)(C)->_chain,(C)->_free,_i);
- C->_free=(_old_size)+(1);
- }
- void rT264make(T264 *C){
- int _i=0;
- C->_modulus=32;
- C->_count=0;
- C->_free=1;
- C->_has_mem=0;
- C->_item_mem=0;
- {T55 *n=((T55*)new(55));
- rT55make(n,0,((C)->_modulus)-(1));
- C->_buckets=(T0 *)n;}
- {T55 *n=((T55*)new(55));
- rT55make(n,1,16);
- C->_chain=(T0 *)n;}
- {T265 *n=((T265*)new(265));
- rT265make(n,1,16);
- C->_store=(T0 *)n;}
- {T41 *n=((T41*)new(41));
- rT41make(n,1,16);
- C->_keys=(T0 *)n;}
- _i=1;
- while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
- rT55put((T55*)(C)->_chain,(_i)+(1),_i);
- _i=(_i)+(1);
- }
- rT55put((T55*)(C)->_chain,0,_i);
- _i=0;
- while (!((_i)>=((C)->_modulus))) {
- rT55put((T55*)(C)->_buckets,0,_i);
- _i=(_i)+(1);
- }
- }
- void rT262forth(T262 *C){
- int _i=0;
- /*IF*/if ((rT55item((T55*)(C)->_chain,(C)->_item_mem_j))!=(0)) {
- C->_item_mem_j=rT55item((T55*)(C)->_chain,(C)->_item_mem_j);
- }
- else {
- _i=((C)->_item_mem_i)+(1);
- while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) {
- _i=(_i)+(1);
- }
- C->_item_mem_i=_i;
- C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i);
- }
- /*FI*/C->_item_mem=((C)->_item_mem)+(1);
- }
- void rT262first(T262 *C){
- int _i=0;
- _i=0;
- while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) {
- _i=(_i)+(1);
- }
- C->_item_mem_i=_i;
- C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i);
- C->_item_mem=1;
- }
- void rT262resize(T262 *C,int a1){
- int _p=0;
- int _n=0;
- int _i=0;
- T0* _new_buc=NULL;
- int _hash=0;
- {T55 *n=((T55*)new(55));
- rT55make(n,0,(a1)-(1));
- _new_buc=(T0 *)n;}
- _i=0;
- while (!((_i)>=((C)->_modulus))) {
- _n=rT55item((T55*)(C)->_buckets,_i);
- while (!((_n)==(0))) {
- _p=rT55item((T55*)(C)->_chain,_n);
- _hash=(rT7hash_code((T7*)rT41item((T41*)(C)->_keys,_n)))%(a1);
- rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n);
- rT55put((T55*)_new_buc,_n,_hash);
- _n=_p;
- }
- _i=(_i)+(1);
- }
- C->_buckets=_new_buc;
- C->_modulus=a1;
- C->_item_mem=0;
- }
- T0 * rT262item(T262 *C,int a1){
- T0 * R=NULL;
- /*IF*/if (((C)->_item_mem)==(0)) {
- rT262first(C);
- while (!((a1)==((C)->_item_mem))) {
- rT262forth(C);
- }
- R=rT263item((T263*)(C)->_store,(C)->_item_mem_j);
- }
- else if (((C)->_item_mem)<=(a1)) {
- while (!((a1)==((C)->_item_mem))) {
- rT262forth(C);
- }
- R=rT263item((T263*)(C)->_store,(C)->_item_mem_j);
- }
- else {
- C->_item_mem=0;
- R=rT262item(C,a1);
- }
- /*FI*/return R;
- }
- T0* rT262clone(T262 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- T0 * rT262at(T262 *C,T0* a1){
- T0 * R=NULL;
- int _foo=0;
- _foo=rT262has(C,a1);
- R=rT263item((T263*)(C)->_store,(C)->_has_mem);
- return R;
- }
- void rT262put(T262 *C,T0 * a1,T0* a2){
- int _hash=0;
- _hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
- /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT41item((T41*)(C)->_keys,(C)->_has_mem))))) {
- C->_has_mem=rT55item((T55*)(C)->_buckets,_hash);
- while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT41item((T41*)(C)->_keys,(C)->_has_mem))))) {
- C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
- }
- /*IF*/if (((C)->_has_mem)==(0)) {
- /*IF*/if (((C)->_count)>=(rT263count((T263*)(C)->_store))) {
- rT262expand(C);
- }
- /*FI*/rT41put((T41*)(C)->_keys,a2,(C)->_free);
- rT263put((T263*)(C)->_store,a1,(C)->_free);
- C->_has_mem=(C)->_free;
- C->_free=rT55item((T55*)(C)->_chain,(C)->_free);
- rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem);
- rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash);
- C->_count=((C)->_count)+(1);
- /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
- rT262resize(C,(2)*((C)->_modulus));
- }
- /*FI*/}
- /*FI*/}
- else {
- rT263put((T263*)(C)->_store,a1,(C)->_has_mem);
- }
- /*FI*/C->_item_mem=0;
- }
- void rT262standard_copy(T262 *C,T0 * a1){
- memcpy(C,a1,s[a1->id]);
- }
- void rT262copy(T262 *C,T0 * a1){
- rT262standard_copy(C,a1);
- C->_keys=rT262clone(C,((T262*)a1)->_keys);
- C->_store=rT262clone(C,((T262*)a1)->_store);
- C->_buckets=rT262clone(C,((T262*)a1)->_buckets);
- C->_chain=rT262clone(C,((T262*)a1)->_chain);
- }
- void rT262expand(T262 *C){
- int _old_size=0;
- int _i=0;
- C->_item_mem=0;
- _old_size=rT263count((T263*)(C)->_store);
- rT55resize((T55*)(C)->_chain,1,(2)*(_old_size));
- rT41resize((T41*)(C)->_keys,1,(2)*(_old_size));
- rT263resize((T263*)(C)->_store,1,(2)*(_old_size));
- _i=(_old_size)+(1);
- while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
- rT55put((T55*)(C)->_chain,(_i)+(1),_i);
- _i=(_i)+(1);
- }
- rT55put((T55*)(C)->_chain,(C)->_free,_i);
- C->_free=(_old_size)+(1);
- }
- int rT262has(T262 *C,T0* a1){
- int R=0;
- /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT41item((T41*)(C)->_keys,(C)->_has_mem))))) {
- C->_has_mem=rT55item((T55*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus));
- while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT41item((T41*)(C)->_keys,(C)->_has_mem))))) {
- C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
- }
- }
- /*FI*/R=((C)->_has_mem)!=(0);
- return R;
- }
- void rT262make(T262 *C){
- int _i=0;
- C->_modulus=32;
- C->_count=0;
- C->_free=1;
- C->_has_mem=0;
- C->_item_mem=0;
- {T55 *n=((T55*)new(55));
- rT55make(n,0,((C)->_modulus)-(1));
- C->_buckets=(T0 *)n;}
- {T55 *n=((T55*)new(55));
- rT55make(n,1,16);
- C->_chain=(T0 *)n;}
- {T263 *n=((T263*)new(263));
- rT263make(n,1,16);
- C->_store=(T0 *)n;}
- {T41 *n=((T41*)new(41));
- rT41make(n,1,16);
- C->_keys=(T0 *)n;}
- _i=1;
- while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
- rT55put((T55*)(C)->_chain,(_i)+(1),_i);
- _i=(_i)+(1);
- }
- rT55put((T55*)(C)->_chain,0,_i);
- _i=0;
- while (!((_i)>=((C)->_modulus))) {
- rT55put((T55*)(C)->_buckets,0,_i);
- _i=(_i)+(1);
- }
- }
- void rT61resize(T61 *C,int a1){
- int _p=0;
- int _n=0;
- int _i=0;
- T0* _new_buc=NULL;
- int _hash=0;
- {T55 *n=((T55*)new(55));
- rT55make(n,0,(a1)-(1));
- _new_buc=(T0 *)n;}
- _i=0;
- while (!((_i)>=((C)->_modulus))) {
- _n=rT55item((T55*)(C)->_buckets,_i);
- while (!((_n)==(0))) {
- _p=rT55item((T55*)(C)->_chain,_n);
- _hash=(rT7hash_code((T7*)rT41item((T41*)(C)->_keys,_n)))%(a1);
- rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n);
- rT55put((T55*)_new_buc,_n,_hash);
- _n=_p;
- }
- _i=(_i)+(1);
- }
- C->_buckets=_new_buc;
- C->_modulus=a1;
- C->_item_mem=0;
- }
- T0* rT61clone(T61 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- T0 * rT61at(T61 *C,T0* a1){
- T0 * R=NULL;
- int _foo=0;
- _foo=rT61has(C,a1);
- R=XrT63item((C)->_store,(C)->_has_mem);
- return R;
- }
- void rT61put(T61 *C,T0 * a1,T0* a2){
- int _hash=0;
- _hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
- /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT41item((T41*)(C)->_keys,(C)->_has_mem))))) {
- C->_has_mem=rT55item((T55*)(C)->_buckets,_hash);
- while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT41item((T41*)(C)->_keys,(C)->_has_mem))))) {
- C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
- }
- /*IF*/if (((C)->_has_mem)==(0)) {
- /*IF*/if (((C)->_count)>=(XrT63count((C)->_store))) {
- rT61expand(C);
- }
- /*FI*/rT41put((T41*)(C)->_keys,a2,(C)->_free);
- XrT63put((C)->_store,a1,(C)->_free);
- C->_has_mem=(C)->_free;
- C->_free=rT55item((T55*)(C)->_chain,(C)->_free);
- rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem);
- rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash);
- C->_count=((C)->_count)+(1);
- /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
- rT61resize(C,(2)*((C)->_modulus));
- }
- /*FI*/}
- /*FI*/}
- else {
- XrT63put((C)->_store,a1,(C)->_has_mem);
- }
- /*FI*/C->_item_mem=0;
- }
- void rT61standard_copy(T61 *C,T0 * a1){
- memcpy(C,a1,s[a1->id]);
- }
- void rT61copy(T61 *C,T0 * a1){
- rT61standard_copy(C,a1);
- C->_keys=rT61clone(C,((T61*)a1)->_keys);
- C->_store=rT61clone(C,((T61*)a1)->_store);
- C->_buckets=rT61clone(C,((T61*)a1)->_buckets);
- C->_chain=rT61clone(C,((T61*)a1)->_chain);
- }
-